home *** CD-ROM | disk | FTP | other *** search
/ The Game Master (3rd Edition) / The Game Master 3rd edition.iso / files / game_cga / somgames / zylgis.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1983-12-17  |  5.5 KB  |  113 lines

  1. 10  KEY OFF:CLS:PRINT:PRINT:COLOR 8,7:LOCATE 3,28:PRINT" * ZYLGIS * ":COLOR 0,2:PRINT:PRINT TAB(40);"By: Jeff Askew":PRINT TAB(40);"12/12/82"
  2. 20  PLAY"t100o3c16e16g16o4c16o3p16g16o4c3p8t200L32o4cco3ba#ag#gf#fed#dc#c16
  3. 30  PRINT:PRINT:PRINT "In this real-time graphics game, you must manuver your ship":PRINT "( ";CHR$(24);" ";CHR$(25);" ";CHR$(26);" or ";CHR$(27);" , depending on the direction you are traveling.)"
  4. 40  PRINT"around any and all solid blockades  ( ";STRING$(4,219);" )  in an attempt to":PRINT"squash all of the aliens ( ";CHR$(1);" ) that are present. Once you manage to"
  5. 50  PRINT"rid an entire screen of aliens, you will be promoted to a harder":PRINT"level. Every two levels, a new screen configuration will be provided."
  6. 60  PRINT:PRINT"You have seven ships to begin with. Your ship dies when it collides":PRINT"with a solid blockade. After a screen is drawn, the game will not"
  7. 70  PRINT"begin until you press a key. At any time during the game, you may":PRINT"press the space bar to suspend play. Press it again to continue.":PRINT:PRINT TAB(30);"** GOOD  LUCK **":PRINT:PRINT:PRINT"Press a key to proceed ...........";
  8. 80  IN$=INKEY$:IF IN$="" THEN 80
  9. 90  SOUND 1500,5:OPEN "ZYLGIS.SCR" FOR INPUT AS #1
  10. 100  INPUT #1,IN$(1),SCOR(1),IN$(2),SCOR(2),IN$(3),SCOR(3),IN$(4),SCOR(4),IN$(5),SCOR(5),IN$(6),SCOR(6),IN$(7),SCOR(7),IN$(8),SCOR(8),IN$(9),SCOR(9),IN$(10),SCOR(10)
  11. 110  SOUND 50,5:CLOSE #1
  12. 120  GOTO 840
  13. 130  CLS:MEN=7:LEVEL=1
  14. 140  D=2:R=22:C=71:P$=CHR$(17):SCORE=0
  15. 150  NUMLEFT=27:GOSUB 530
  16. 160  LOCATE 1,1:PRINT STRING$(74,219):LOCATE 23,1:PRINT STRING$(74,219)
  17. 170  FOR A=2 TO 22:LOCATE A,1:PRINT"CSRLINCSRLIN":LOCATE A,73:PRINT"CSRLINCSRLIN":NEXT
  18. 180  LOCATE 24,40:PRINT"MEN LEFT = ";MEN;:LOCATE 24,20:PRINT"SCORE =  ";SCORE;:LOCATE 24,61:PRINT"LEVEL = ";LEVEL;
  19. 190  SOUND 1000,0.5:ON LEVEL GOSUB 610,620,630,640,650,660,670,690,700,750,760,800,810,830,830,830,830,830
  20. 200  SOUND 500,0.5:DEF SEG=0:POKE 1050,PEEK(1052):DEF SEG
  21. 210  '
  22. 220  '###################################################################
  23. 230  '
  24. 240  IF NUMLEFT<=0 THEN 410 ELSE GOSUB 450
  25. 250  COLOR 15:LOCATE R,C:PRINT P$:COLOR 0,2
  26. 260  IF P$=CHR$(24) THEN D=SCREEN(R-1,C):IF D=219 THEN 350 ELSE LOCATE R,C:PRINT" ":R=R-0.5:IF D=1 THEN SOUND 1000,0.2:SOUND 500,0.1:SCORE=SCORE+5:NUMLEFT=NUMLEFT-0.5:LOCATE 24,30:PRINT SCORE;
  27. 270  IF P$=CHR$(24) THEN 240
  28. 280  IF P$=CHR$(25) THEN D=SCREEN(R+1,C):IF D=219 THEN 350 ELSE LOCATE R,C:PRINT" ":R=R+0.5:IF D=1 THEN SOUND 1000,0.2:SOUND 500,0.1:SCORE=SCORE+5:NUMLEFT=NUMLEFT-0.5:LOCATE 24,30:PRINT SCORE;
  29. 290  IF P$=CHR$(25) THEN 240
  30. 300  IF P$=CHR$(26) THEN D=SCREEN(R,C+1):IF D=219 THEN 350 ELSE LOCATE R,C:PRINT" ":C=C+1:IF D=1 THEN SOUND 1000,0.3:SOUND 500,0.2:SCORE=SCORE+10:NUMLEFT=NUMLEFT-1:LOCATE 24,30:PRINT SCORE;
  31. 310  IF P$=CHR$(26) THEN 240
  32. 320  IF P$=CHR$(27) THEN D=SCREEN(R,C-1):IF D=219 THEN 350 ELSE LOCATE R,C:PRINT" ":C=C-1:IF D=1 THEN SOUND 1000,0.3:SOUND 500,0.2:SCORE=SCORE+10:NUMLEFT=NUMLEFT-1:LOCATE 24,30:PRINT SCORE;
  33. 330  IF P$=CHR$(27) THEN 240
  34. 340  GOTO 240
  35. 350  REM blow up
  36. 360  LOCATE 12,30:COLOR 24:PRINT" <<<<<  ZAP  >>>>> ":COLOR 0,2
  37. 370  FOR A=1100 TO 40 STEP -5:SOUND A,0.1:NEXT
  38. 380  FOR A=1 TO 500:NEXT
  39. 390  FOR A=1 TO 1000:NEXT
  40. 400  IF MEN<=1 THEN 580 ELSE IF 219 THEN MEN=MEN-1
  41. 410  R=22:C=71:P$=CHR$(17):CLS:IF D<>219 THEN LEVEL=LEVEL+1
  42. 420  D=2:GOTO 150
  43. 430  COLOR 15:LOCATE R,C:PRINT P$:COLOR 0,2:GOTO 240
  44. 440  REM -- move
  45. 450  A$=INKEY$:IF A$="" THEN RETURN
  46. 460  E=ASC(RIGHT$(A$,1))
  47. 470  IF E=80 THEN P$=CHR$(25):RETURN
  48. 480  IF E=72 THEN P$=CHR$(24):RETURN
  49. 490  IF E=75 THEN P$=CHR$(27):RETURN
  50. 500  IF E=77 THEN P$=CHR$(26):RETURN
  51. 510  IF E=32 THEN GOSUB 590:RETURN
  52. 520  RETURN
  53. 530  FOR AA=1 TO 33
  54. 540  BBB=CINT(60*RND+8):AAA=CINT(18*RND+2)
  55. 550  LOCATE AAA,BBB:PRINT CHR$(1)
  56. 560  NEXT
  57. 570  RETURN
  58. 580  GOTO 840
  59. 590  COLOR 8,7:LOCATE R,C:PRINT P$
  60. 600  A$=INKEY$:IF A$<>" " THEN 590 ELSE COLOR 0,2:RETURN
  61. 610  RETURN
  62. 620  GOTO 610
  63. 630  LOCATE 8,15:PRINT STRING$(45,219):LOCATE 14,15:PRINT STRING$(45,219):RETURN
  64. 640  GOTO 630
  65. 650  FOR CCC=6 TO 17:LOCATE CCC,30:PRINT"CSRLINCSRLIN":LOCATE CCC,45:PRINT"CSRLINCSRLIN":NEXT:RETURN
  66. 660  GOTO 650
  67. 670  TEMP$=STRING$(6,219)+STRING$(6,32)+STRING$(10,219)+STRING$(6,32)+STRING$(10,219)+STRING$(6,32)+STRING$(6,219):LOCATE 6,11:PRINT TEMP$:LOCATE 17,11:PRINT TEMP$:FOR CCC=7 TO 10:LOCATE CCC,11:PRINT"CSRLINCSRLIN":LOCATE CCC,59:PRINT"CSRLINCSRLIN":NEXT:FOR CCC=13 TO 16
  68. 680  LOCATE CCC,11:PRINT"CSRLINCSRLIN":LOCATE CCC,59:PRINT"CSRLINCSRLIN":NEXT:RETURN
  69. 690  GOTO 670
  70. 700  LOCATE 4,15:PRINT"CSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLIN    CSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLIN"
  71. 710  FOR CCC=5 TO 10:LOCATE CCC,15:PRINT"CSRLINCSRLIN":LOCATE CCC,61:PRINT"CSRLINCSRLIN":NEXT
  72. 720  FOR CCC=13 TO 19:LOCATE CCC,15:PRINT"CSRLINCSRLIN":LOCATE CCC,61:PRINT"CSRLINCSRLIN":NEXT
  73. 730  LOCATE 20,15:PRINT"CSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLIN    CSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLIN"
  74. 740  LOCATE 8,38:PRINT"CSRLINCSRLIN":LOCATE 9,38:PRINT"CSRLINCSRLIN":LOCATE 10,38:PRINT"CSRLINCSRLIN":LOCATE 11,32:PRINT"CSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLINCSRLIN":LOCATE 12,38:PRINT"CSRLINCSRLIN":LOCATE 13,38:PRINT"CSRLINCSRLIN":LOCATE 14,38:PRINT"CSRLINCSRLIN":RETURN
  75. 750  GOTO 700
  76. 760  FOR AA=1 TO 7:BBB=CINT(60*RND+8):AAA=CINT(18*RND+2):LOCATE AAA,BBB:PRINT CHR$(1):NEXT
  77. 770  FOR CCC=3 TO 11:LOCATE CCC,15:PRINT"CSRLINCSRLIN":LOCATE CCC,31:PRINT"CSRLINCSRLIN":LOCATE CCC,47:PRINT"CSRLINCSRLIN":NEXT:FOR CCC=13 TO 21:LOCATE CCC,15:PRINT"CSRLINCSRLIN":LOCATE CCC,31:PRINT"CSRLINCSRLIN":LOCATE CCC,47:PRINT"CSRLINCSRLIN":NEXT:TEMP=9
  78. 780  FOR CCC=1 TO 2:LOCATE TEMP,3:PRINT STRING$(20,219):LOCATE TEMP,26:PRINT STRING$(12,219):LOCATE TEMP,41:PRINT STRING$(28,219):TEMP=16:NEXT
  79. 790  RETURN
  80. 800  GOTO 760
  81. 810  FOR AA=1 TO 15:BBB=CINT(60*RND+8):AAA=CINT(18*RND+2):LOCATE AAA,BBB:PRINT CHR$(1):NEXT
  82. 820  FOR CCC=3 TO 21 STEP 2:FOR DDD=7 TO 73 STEP 6:LOCATE CCC,DDD:PRINT"CSRLINCSRLIN":NEXT:NEXT:RETURN
  83. 830  SOUND 3000,0.5:GOTO 810
  84. 840  FOR I=1 TO 10
  85. 850  IF SCORE>=SCOR(I) THEN GOTO 990
  86. 860  NEXT I
  87. 870  CLS
  88. 880  COLOR 24:PRINT TAB(18);"ZYLGIS TOP 10 SCORES"
  89. 890  SOUND 240,0.5:COLOR 2:PRINT:PRINT"             INITIALS       SCORE":PRINT
  90. 900  FOR I=1 TO 9
  91. 910  PRINT I;".",IN$(I),SCOR(I)
  92. 920  NEXT I
  93. 930  PRINT"10 .",IN$(10),SCOR(10)
  94. 940  PRINT:PRINT"LAST SCORE - ";SCORE;
  95. 950  DEF SEG=0:POKE 1050,PEEK(1052):DEF SEG
  96. 960  LOCATE 20,1:PRINT"HIT ANY KEY FOR NEXT GAME - ESC TO TERMINATE";:EED$=INPUT$(1):IF EED$=CHR$(27) THEN GOTO 1090
  97. 970  LOCATE 20,1:PRINT STRING$(60,32)
  98. 980  GOTO 130 'restart game
  99. 990  FOR A=10 TO I+1 STEP -1
  100. 1000  SCOR(A)=SCOR(A-1)
  101. 1010  IN$(A)=IN$(A-1)
  102. 1020  NEXT A
  103. 1030  SCOR(I)=SCORE
  104. 1040  FOR A=1 TO 2:PLAY"T100mBp8L8n20n25p20L24n24n25L4n28n25L8n28p20L24n27n28L4n32n28":PLAY"T100L8n32p20L24n31n32L4n35n23L8n28p20L24n27n28L4n32p16":NEXT:PLAY"Mbp16"
  105. 1050  CLS:LOCATE 10,25:PRINT "* ZYLGIS *":LOCATE 12,10:PRINT "Your score -- ";SCORE;" -- is among the top 10 scores.":LOCATE 13,14:PRINT "You are placed as the number";I;"scorer."
  106. 1060  FOR A=1 TO 2:PLAY"p8T100L8n20n25p20L24n24n25L4O2d#.":PLAY"p8T100L8n44n49p20L24n48n49L4O4d#.":NEXT
  107. 1070  DEF SEG=0:POKE 1050,PEEK(1052):DEF SEG
  108. 1080  LOCATE 15,18:INPUT "Enter Your Initials -- ",ZZ$:IN$(I)=LEFT$(ZZ$,3):GOTO  870
  109. 1090  OPEN "ZYLGIS.SCR" FOR OUTPUT AS #1
  110. 1100  PRINT #1,IN$(1);",";SCOR(1);",";IN$(2);",";SCOR(2);",";IN$(3);",";SCOR(3);",";IN$(4);",";SCOR(4);",";IN$(5);",";SCOR(5);",";IN$(6);",";SCOR(6);",";IN$(7);",";SCOR(7);",";IN$(8);",";SCOR(8);",";IN$(9);",";SCOR(9);",";IN$(10);",";SCOR(10)
  111. 1110  CLOSE #1
  112. 1120  CLS:KEY ON:PRINT:PRINT:PRINT TAB(30);"Have  A  Nice  Day !!":PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:END
  113.